package com.zj.juc.study.lock;

import java.util.concurrent.TimeUnit;

/**
 * @author 自己的名字
 * @version 1.0.0
 * @ClassName Lock8Demo
 * @Description 标准访问有a，b两个线程， 先打印邮件还是先打印短信
 * 2. sendEmail方法加入暂停三秒，先打印邮件还是先打印短信
 * 3. 添加一个普通的hello方法，先打印邮件还是先打印hello
 * 4. 有两部手机，请问先打印邮件还是先打印短信
 * 5. 有两个静态同步方法，有1部手机，请问先打印邮件还是短信
 * 6. 有两个静态同步方法，有2部手机，请问先打印邮件还是短信
 * 7. 有一个静态同步方法，有一个普通同步方法，有一部手机，请问先打印邮件还是先打印短信
 * 8. 有一个静态同步方法，有1个普通同步方法，有2部手机，请问先打印邮件还是短信
 * @createTime 2024年12月23日 20:21
 */
public class Lock8Demo {

    public static void main(String[] args) {


        new Thread(Phone::sendEmail).start();
        try {
            //确保a线程先启动
            TimeUnit.MILLISECONDS.sleep(200);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        new Thread(Phone::sendSms).start();

    }
}

class Phone{
    public static synchronized void sendEmail(){
        try {
            TimeUnit.SECONDS.sleep(3);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("send email");
    }


    public static synchronized void sendSms(){
        System.out.println("send sms");
    }
}
